package com.stackexchange.webapis
{
	import com.stackexchange.webapis.enums.UserType;

	public class User
	{
		/**
		 * id of the user
		 **/
		public var userId:int;
		
		/**
		 * type of the user
		 **/
		public var userType:UserType;
		
		/**
		 * date user was created
		 **/
		public var creationDate:Date;
		
		/**
		 * displayable name of the user
		 **/
		public var displayName:String;
		
		/**
		 * reputation of the user
		 **/
		public var reputation:int;
		
		/**
		 * email hash, suitable for fetching a gravatar
		 **/
		public var emailHash:String;
		
		/**
		 * age of the user
		 **/
		public var age:int;
		
		/**
		 * last date this user accessed the site
		 **/
		public var lastAccessDate:Date;
		
		/**
		 * user's website
		 **/
		public var websiteUrl:String;
		
		/**
		 * location
		 **/
		public var location:String;
		
		/**
		 * user's about me blurb
		 **/
		public var aboutMe:String;
		
		/**
		 * number of questions asked
		 **/
		public var questionCount:int;
		
		/**
		 * number of answers posted
		 **/
		public var answerCount:int;
		
		/**
		 * number of times profile viewed
		 **/
		public var viewCount:int;
		
		/**
		 * number of times this user has up voted
		 **/
		public var upVoteCount:int;
		
		/**
		 * number of times this user has down voted
		 **/
		public var downVoteCount:int;
		
		/**
		 * user's answer acceptance rate
		 **/
		public var acceptRate:int;
		
		/**
		 * identifier for this user across all SE sites
		 **/
		public var associationId:String;
		
		/**
		 * link to the questions the user has asked
		 **/
		public var userQuestionsUrl:String;
		
		/**
		 * link to the answers the user has posted
		 **/ 
		public var userAnswersUrl:String;
		
		/**
		 * link to the questions the user has favorited
		 **/ 
		public var userFavoritesUrl:String;
		
		/**
		 * link to a list of tags the user has participated in
		 **/ 
		public var userTagsUrl:String;
		
		/**
		 * link to a list of badges the user has receieved
		 **/
		public var userBadgesUrl:String;
		
		/**
		 * link to the timeline of this user
		 **/
		public var userTimelineUrl:String;
		
		/**
		 * link to a list of comments which mention this user
		 **/
		public var userMentionedUrl:String;
	
		/**
		 * link to a list of comments this user has made
		 **/
		public var userCommentsUrl:String;
		
		/**
		 * link to a list of rep_changes that this user has experienced
		 **/
		public var userReputationUrl:String;
		
		/**
		 * link to a list of rep_changes that this user has experienced
		 **/
		public var badgeCounts:BadgeCount;
		
		/**
		 * date until which this user is in the "penalty box"
		 **/
		public var timedPenaltyDate:Date;
		
	}
}